home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / tk2.3 / dist / ToDo < prev   
Encoding:
Text File  |  1992-08-17  |  7.1 KB  |  202 lines

  1. This file contains a list of bugs to fix and minor feature changes
  2. needed in the Tk toolkit.  The list is ordered by the time when the
  3. idea for the change first arose;  no priority should be inferred from
  4. the order.
  5.  
  6. 6. Fill in default argument table in tkArgv.c, and document it.
  7.  
  8. 8. Change Tk_Uid stuff so that there's a fast way to tell if a
  9. string is really a Tk_Uid.
  10.  
  11. 10. Write procedure to translate from a string to a Pixmap.
  12.  
  13. 20. Change border specification so that instead of giving a width you
  14. can give a string of the form "uudu20du" to indicate ranges of up and
  15. down.  This would eliminate having a lot of extra frame windows.  On
  16. the other hand, it might be confusing for things like buttons:  have to
  17. give separate specs for "up" and "down"?
  18.  
  19. 24. Add mechanism to determine which interpreter has the selection.
  20.  
  21. 26. Extend "configure" widget command to output the type of the
  22. option (string, color, etc.)?  Or should this be done with the class
  23. field?
  24.  
  25. 28. Need mechanism to change the name of a top-level window?
  26.  
  27. 30. Make "." a frame widget in wish?
  28.  
  29. 41. Make "pack" return the id of the parent window, so that packs can
  30. be nested to make window structure more obvious?
  31.  
  32. 47. Add new "option" subcommands to (a) query whole database or
  33. (b) query all the option patterns that match for a particular option
  34. (i.e. don't just return the one that will actually be used).
  35.  
  36. 50. In error-handling code, ignore BadWindow errors if they occur
  37. for a seemingly-legitimate Tk window.
  38.  
  39. 51. Add a "contrib" directory for users to contribute various scripts
  40. and other assistance?
  41.  
  42. 52. Should "wm" have mechanism to allow resizing in a single direction
  43. only?
  44.  
  45. 53. Put the version number into a header file, instead of the Makefile.
  46.  
  47. 55. More window-manager protocols, such as WM_DELETE_WINDOW and
  48. WM_TAKE_FOCUS and WM_CLIENT_MACHINE.  Also need support for WM_COMMAND
  49. property.
  50.  
  51. 57. Support for 2-byte fonts?
  52.  
  53. 61. Allow widgets to be renamed?
  54.  
  55. 63. Provide way to determine "type" of window (i.e. command under which
  56. it was created) rather than current class?
  57.  
  58. 65. Make sure that colors get mapped to B&W correctly on mono displays
  59. (the motivating problem is a single display with multiple screens of
  60. different types).
  61.  
  62. 68. Write manual entries for new exported binding procedures.
  63.  
  64. 69. Change "frame" option in "pack" command to "anchor".  Also allow
  65. windows to be packed in windows other than their parents.
  66.  
  67. 73. Provide mechanism in widgets like entry to query whether the
  68. selection is there.  Perhaps implement standard selection target
  69. that returns the selection's window and application?
  70.  
  71. 75. Change Tk_Uid typedef to prevent confusion with (char *)?
  72.  
  73. 76. Change listbox selection handling to return multiple items separated
  74. by newlines rather than as a Tcl list?
  75.  
  76. 77. Need way to delete selection handlers.  Specific problem:  TARGETS
  77. not returning right values in Spotlight:  at different times, same
  78. window provides different forms of selection, but no way to change
  79. the TARGETS return value over time.
  80.  
  81. 78. Can't safely delete file handlers from within a file handler.  Need
  82. to fix main event loop so this is possible.
  83.  
  84. 79. Change TK_CONFIG_PIXMAP to TK_CONFIG_BITMAP in tkConfig.c?
  85.  
  86. 81. For check and radio buttons, change "command" config to separate
  87. commands invoked when button becomes selected/deselected?
  88.  
  89. 82. Eliminate "flash" option for buttons?
  90.  
  91. 84. Change Tk class names so that there's only one capital letter in
  92. each name.  Be consistent!
  93.  
  94. 86. Change "tkVersion" variable to "tk_version" for consistency.
  95.  
  96. 89. Eliminate hard-wired behavior for scales and scrollbars:  use class
  97. bindings instead.
  98.  
  99. 90. Add mechanism in menus to get y-coords of a particular entry (useful
  100. for position selector menus).  Do similar things for other widgets, so
  101. that positions of various elements can be determined.
  102.  
  103. 91. Change menu buttons not to monitor variable anymore.  Retain group
  104. mechanism for event sharing, though.
  105.  
  106. 92. Add mechanism for interposing constraints in geometry management,
  107. e.g. to allow a collection of buttons to all request same width (for
  108. tables) or to provide a generic mechanism for padding widgets internally.
  109.  
  110. 93. Add way to find out which geometry manager "owns" a particular
  111. window.
  112.  
  113. 94. Support stippled backgrounds in canvases.
  114.  
  115. 95. Should "exportSelection" default to "no" in listboxes?
  116.  
  117. 96. Check for memory leaks.
  118.  
  119. 97. Need commands to raise and lower top-level windows.
  120.  
  121. 98. Add Tk command to compute the bbox of a given text string in a given
  122. font?
  123.  
  124. 99. Change binding mechanism so that "bind . <Any-Control-h> {...}"
  125. isn't sensitive to the shift key.
  126.  
  127. 100. Extend scrollbar "set" command so that arrow increment can be set
  128. explicitly.
  129.  
  130. 101. Eliminate TK_DONT_WAIT option to Tk_DoOneEvent.
  131.  
  132. 102. Allow $tk_library to be set from an environment variable.
  133.  
  134. 103. Get image displaying widget from Paul Mackerras (paulus@cs.anu.edu.au)
  135. and incorporate into Tk.
  136.  
  137. 104. Make "delete" option for canvases take multiple arguments.
  138.  
  139. 105. Eliminate the "activate" and "deactivate" commands for buttons
  140. and menu buttons.
  141.  
  142. 106. Add feature to buttons for automatic defaulting, where button
  143. allocates extra space for default ring.
  144.  
  145. 107. Eliminate the "disable" and "enable" commands for menus.
  146.  
  147. 108. Change Tk_GetAtomName to return NULL instead of "?bad atom?".
  148.  
  149. 109. Redo event-sharing stuff to use the same general approach as
  150. used for grabbing, except generalized to a group of windows.  Perhaps
  151. extend the grab command?
  152.  
  153. 110. Extend bitmaps to allow direct specification (#0xffff ...)
  154.  
  155. 112. Add "winfo exists" command to see if window exists.
  156.  
  157. 113. Improve color handling facilities:  (a) when colors run out, drop
  158. back to mono-style stuff;  (b) provide an override where the user can
  159. say "treat this screen as mono even though it isn't".
  160.  
  161. 114. Change default so that windows are normally resizable?
  162.  
  163. 115. Change Tk_GetSelection to look in the cut buffer if no selection
  164. can be found.
  165.  
  166. 116. Change "cursor" stuff to "insert" stuff in entry widget.
  167.  
  168. 117. Implement a mechanism for retrieving just the value of a configuration
  169. option, without all the other stuff (name, default, etc.).  Perhaps
  170. a "cvalue" widget command?
  171.  
  172. 118. Add "-setgrid" option to listboxes.
  173.  
  174. 119. There's no way to make a window the selection owner from Tcl.  Add
  175. a "selection own" command.
  176.  
  177. 120. If a selection handler written in Tcl returns an errors, it is ignored
  178. and results in an empty selection being returned.  Change to propagate
  179. the error.
  180.  
  181. 123. Maintain visibility state in Tk and make available to clients.
  182.  
  183. 124. Remove "-geometry" option from all widgets, and use "-width" and
  184. "-height" instead.
  185.  
  186. 125. Revise grab mechanism to eliminate various problems (see the
  187. beginning of tkGrab.c for information about the problems).  Also, set
  188. grab automatically on visibility change so Tcl scripts don't have to
  189. worry about this?
  190.  
  191. 126. Change menus to eliminate event sharing altogether.  Just use a
  192. grab on the menu bar to achieve the same effect more cleanly.
  193.  
  194. 127. When implementing Postscript output for canvases, allow printing
  195. on multiple pages?  Or, just allow printing a reduced area of the
  196. canvas, then multi-page stuff can be done with Tcl scripts.
  197.  
  198. 128. Scroll windows when selecting off edge of window (do for listboxes,
  199. entries, and text)?
  200.  
  201. 129. Add keyboard traversal to text and listboxes.
  202.